Contreras kontrakterades av Cincinnati Reds som 17-åring i mars 2008 och redan samma år gjorde han proffsdebut i Reds farmarklubbssystem. Han inledde i hemlandet i Dominican Summer League, en liga på den lägsta nivån (Rookie). Efter två säsonger där flyttade han till USA och fick spela i Arizona League och året efter det i Pioneer League, två andra ligor på Rookie-nivån. 2012 flyttades han upp till Dayton Dragons i Midwest League (A) och senare under säsongen till Bakersfield Blaze i California League (Advanced A). Detta var hans dittills bästa säsong; på 49 matcher, samtliga som inhoppare (reliever), var han 1-1 (en vinst och en förlust) med en earned run average (ERA) på 3,12. Vidare hade han 20 saves på 24 save opportunities. Efter säsongen utsågs han av Minor League Baseball till Reds farmarklubbssystems all star-lag. Året efter testade Reds att använda honom som starter i stället. Han inledde säsongen för Bakersfield, men flyttades senare upp till Pensacola Blue Wahoos i Southern League (AA). På 26 matcher, samtliga från start, var han 8-9 med en ERA på 3,47. Han togs under säsongen ut till California Leagues all star-match och till den så kallade Futures Game, en match där de bästa spelarna från alla farmarligorna möts i samband med MLB:s all star-match.[1]
2014 inledde Contreras för Pensacola, där han fortsatte att spela bra (2-1, 2,70 ERA på nio matcher, varav tre från start). I slutet av juni belönades han när Reds kallade upp honom till moderklubben, där han ersatte Roger Bernadina. Han gjorde sin MLB-debut den 21 juni i en match mot Toronto Blue Jays.[2] Efter bara tre matcher skickades han ned till Louisville Bats i International League (AAA) när Reds drabbades av skador[3], men innan han hann spela någon match där kallades han upp till Reds igen.[4] I sin första match tillbaka lyckades han med konststycket att göra tre strikeouts i samma inning med hjälp av bara nio kast, något som bara hade hänt 76 gånger tidigare i MLB:s långa historia.[5] I slutet av augusti skickades han ned till Louisville igen[6], men precis som förra gången hann han inte spela någon match där innan han kallades upp till Reds igen den 1 september, det datum då spelartrupperna i MLB får utökas från 25 till 40 spelare.[7] För Reds spelade han under säsongen 17 matcher och var 0-1 med en ERA på 6,52.
Contreras fick inleda 2015 nere i Louisville, men i slutet av april blev han uppkallad till Reds.[8] Efter bara tre matcher skickades han ned igen[9], men i mitten av juni fick han en ny chans i moderklubben.[10] Efter nio inhopp med en ERA på 7,20 blev han förpassad till Louisville igen[11], men i september var han tillbaka i Cincinnati.[12] Totalt under 2015 var han 0-0 med en ERA på 4,82 på 22 matcher.
Under försäsongsträningen inför 2016 års säsong blev Contreras släppt av Reds och blev free agent.[13]